### 各种库的使用 ###

### turtle库及其使用 ###
import turtle #引入turtle库

#海龟 默认 面向水平右方 处于画布最中央(0,0)
"""
turtle.setup(width, height, startx, starty) # 设置 画布的大小和位置
    width # 画布的宽度————整数 则为 像素值，小数 则为 窗口与画布的比例
    height # 画布的高度————整数 则为 像素值，小数 则为 窗口与画布的比例
    startx # 画布左侧 距离 左窗口的距离————可以不设，默认为在中央
    starty # 画布顶部 距离 窗口顶部的距离————可以不设，默认为在中央
"""


turtle.penup() #抬起画笔，海龟移动不留痕迹————别名：turtle.pu()、turtle.up()
turtle.pendown() #落下画笔，海龟移动留痕————别名：turtle.pd()、turtle.down()

turtle.pensize(25) #设置画笔的宽度
a = turtle.width() #turtle.pensize()的别名，无参数时，返回当前画笔 宽度

turtle.pencolor("purple") #设置画笔的 颜色
turtle.pencolor(51,204,140) #red\green\black  设置画笔颜色

turtle.begin_fill() #开始填充颜色
turtle.fillcolor("purple") #给图形填充颜色
turtle.color("white","black")
#同时设置pencolor、fillcolor
turtle.end_fill() #结束填充颜色

turtle.fd(-1) # 向前走-1步。别名：turtle.forward()
# turtle.goto(x,y) # 画笔移动到 （x,y）

turtle.seth(-40) #调整龟头的朝向。别名：turtle.setheading()
turtle.right(30) #顺时针旋转 40度
turtle.left(30) #逆时针旋转 30度

"""
turtle.circle(radius,extent,sides) #用来 画弧
    radius #表示半径。正数时，圆心在海龟左侧 ； 负数时，圆心在海龟右侧
    extent #表示度数
    sides #表示边数，用于绘多边形
"""





### datetime库的使用 ###
from datetime import datetime
today = datetime.now()
print(today)

today_UTC = datetime.utcnow() #返回世界标准时间
print(today_UTC)

today_input = datetime(2022,9,15,23,55,43,1011)#用户自己输入的时间
#						年  月 日  时 分 秒  微妙
print(today_input)

weekday = today.isoweekday() #返回星期
print(weekday)

day = today.strftime("%Y %m %d  %H:%M:%S") #按特定格式输出时间————详见课本
print(day)



#### math()库的使用 ####
#函数库 分为————标准函数库/默认函数库————系统默认支持
#		  ————需要进行安装的函数库
##函数库的调用
import math #调用数据库的方法A
math.ceil(10.2) #则需用此形式 来使用内置函数

from math import * #调用数据库的方法B
ceil(10.2) #则需用此形式 来使用内置函数

"""
## math()库中的 内置常数
    math.pi #圆周率
    math.e
    math.inf #正无穷大
    -math.inf 
"""


#### time()库的使用 ####
from time import *
time() #返回 自1970年至今的 秒数
ctime() #返回 current时间

t = gmtime() #获取 各个单位的时间
strftime("%Y-%m-%d  %H:%M:%S",t) #按一定格式输出时间

timeStr = '2018-10-27  23:43:57'
strftime(timeStr,"%Y-%m-%d  %H:%M:%S") #给时间解包，获取各个单位的时间

time.perf_counter() #开始计时
time.sleep(0.3) #暂停 0.3秒
t = time.perf_counter() #第二次调用，计时结束



### random库的使用 ###
from random import * #之后调用函数的时候，就不用再写  函数名称.
						#从 random库里 引入 *（全部函数）
#导入random库 起一个别名
import random as rd
import turtle
#随机生成 整数
print(rd.randint(0,10))
#随机生成 小数
print(rd.uniform(0,10))

seed(125) #生成一个随机种子
random()  #生成[0.0 , 1.0)的小数
randint(1,30)  #生成[1,30]的整数
randrange(1,40,3) #在range(1,40,3)中，随机取一个数
uniform(1,20)  #生成[1,20]的小数
# choice(sequence)  #从序列类型中，随机抽取一个
# shuffle(sequence) #打乱 原序列类型
getrandbits(16) #返回不大于 2**16 的整数



### jieba库的使用 ###
import  jieba
text = ''
list = jieba.lcut(text) #对中文文本进行 词语划分，并以列表形式 返回——精确划分，不多不少
list = jieba.lcut( text , cut_all = True) #增多型划分
list = jieba.lcut_for_search(text)  #搜索引擎式划分，对长词多次划分

jieba.add_word("牛逼") #向词典添加新词“牛逼”


### wordcloud库的使用 ###
import wordcloud
text = "you need python"
w = wordcloud.WordCloud() #创建对象,并设置相关参数
w.generate(text) #进行加工
w.to_file("pyw.png") #生成图片文件
